my file learn about tech container (docker, podman, kubernetes)
kubectl create -f statefulset.yaml
kubectl apply -f statefulset.yamll
kubectl get statefulset
kubectl describe statefulset <name_statefulset>
kubectl delete statefulset <name_statefulset>
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: name-stateful
labels:
name: name-stateful
spec:
# https://github.com/kubernetes/kubernetes/issues/69608
serviceName: name-stateful-service
replicas: 3
selector:
matchLabels:
name: name-stateful
volumeClaimTemplates:
- metadata:
name: name-stateful-volume-claim
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
template:
metadata:
name: name-stateful
labels:
name: name-stateful
spec:
containers:
- name: name-stateful
image: image/name-stateful
volumeMounts:
- mountPath: /app/data
name: name-stateful-volume-claim
apiVersion: v1
kind: PersistentVolume
metadata:
name: nodejs-stateful-volume
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi
hostPath:
path: /data/location
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nodejs-stateful
labels:
name: nodejs-stateful
spec:
# https://github.com/kubernetes/kubernetes/issues/69608
serviceName: nodejs-stateful-service
replicas: 3
selector:
matchLabels:
name: nodejs-stateful
volumeClaimTemplates:
- metadata:
name: nodejs-stateful-volume-claim
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
template:
metadata:
name: nodejs-stateful
labels:
name: nodejs-stateful
spec:
containers:
- name: nodejs-stateful
image: khannedy/nodejs-stateful
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- mountPath: /app/data
name: nodejs-stateful-volume-claim
kubectl create -f statefulset.yaml
kubectl get pod
# NAME READY STATUS RESTARTS AGE
# nodejs-stateful-0 1/1 Running 0 116s
# nodejs-stateful-1 1/1 Running 0 109s
# nodejs-stateful-2 1/1 Running 0 103s
kubectl delete pod nodejs-stateful-1
kubectl get pod
# NAME READY STATUS RESTARTS AGE
# nodejs-stateful-0 1/1 Running 0 3m35s
# nodejs-stateful-1 0/1 ContainerCreating 0 3s
# nodejs-stateful-2 1/1 Running 0 3m22s